Method and apparatus for reading a storage medium

ABSTRACT

Aspects of the disclosure provide a method. The method includes receiving regional quality information of a region on a storage medium, and adjusting a fill level threshold of a buffer based on the regional quality information. The fill level threshold is used to trigger filling the buffer with data read from the region.

INCORPORATION BY REFERENCE

This present disclosure claims the benefit of U.S. ProvisionalApplication No. 61/546,463, “Active Disc Scan for Problem Areas” filedon Oct. 12, 2011, which is incorporated herein by reference in itsentirety.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent the work is described in thisbackground section, as well as aspects of the description that may nototherwise qualify as prior art at the time of filing, are neitherexpressly nor impliedly admitted as prior art against the presentdisclosure.

An optical disc may have imperfections, such as scratches and/orfingerprints on the disc surface. Such imperfections can be problematicwhen a disc drive reads data stored on the optical disc.

SUMMARY

Aspects of the present disclosure provide a method. The method includesreceiving regional quality information of a region on a storage medium,and adjusting a fill level threshold of a buffer based on the regionalquality information. The fill level threshold is used to trigger fillingthe buffer with data read from the region.

To receive the regional quality information, in an embodiment, themethod includes scanning the storage medium to learn the regionalquality information. In an example, the method includes scanning thestorage medium to learn the regional quality information when a filllevel of the buffer is above the fill level threshold.

In another embodiment, the method includes storing quality indicators inassociation with regions of the storage medium. In an example, themethod includes storing a quality indicator based on a previous accessto a region of the storage medium. For example, the method includesstoring the quality indicator when the previous access to the region isnot successful. In another example, the method includes storing thequality indicator when an error rate of the previous access to theregion is higher than an error rate threshold.

To adjust the fill level threshold based on the regional qualityinformation, in an embodiment, the method includes using a higher filllevel threshold when the regional quality information is indicative of adefined error rate in the target reading region, and using a lower filllevel threshold when the regional quality information is not indicativeof the defined error rate in the target reading region.

Aspects of the present disclosure provide another method. The methodincludes reading data from a region on a storage medium prior to theregion being a target reading region when a fill level of a buffer isabove a fill level threshold, storing the data in a temporary memoryspace, and moving the data from the temporary memory space into thebuffer when the region becomes the target reading region.

Aspects of the disclosure provide a circuit. The circuit includes amemory and a control circuit. The memory has a portion being allocatedas a buffer to buffer data read from a storage medium, and to providethe data to a host device. The controller circuit is configured toreceive regional quality information of a region on the storage medium,and adjust a fill level threshold based on the regional qualityinformation. The fill level threshold is used to trigger filling thebuffer with data read from the target reading region.

Aspects of the disclosure provide a medium drive. The medium driveincludes a read unit and the circuit.

Aspects of the disclosure also provide a system. The system includes thehost device and the medium drive.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments of this disclosure that are proposed as exampleswill be described in detail with reference to the following figures,wherein like numerals reference like elements, and wherein:

FIG. 1 shows a block diagram of a system 100 according to an embodimentof the disclosure;

FIG. 2 shows a flow chart outlining a process 200 according to anembodiment of the disclosure;

FIG. 3 shows a flow chart outlining a process 300 according to anembodiment of the disclosure; and

FIG. 4 shows a flow chart outlining a process 400 according to anembodiment of the disclosure.

DETAILED DESCRIPTION OF EMBODIMENTS

FIG. 1 shows a block diagram of an electronic system 100 according to anembodiment of the disclosure. The electronic system 100 includes amedium drive 110 and a host device 170 coupled together as shown inFIG. 1. The host device 170 is configured to operate based on datastored in a storage medium 101. The medium drive 110 is configured toreceive the storage medium 101, read data from the storage medium 101,and provide the data to the host device 170. According to an embodimentof the disclosure, the medium drive 110 is configured to operate basedon regional quality of the storage medium 101 to improve systemperformance, user experience, and the like.

In the FIG. 1 example, the medium drive 110 includes a read unit 125, acontroller 140 and a memory 150 coupled together as shown in FIG. 1. Theread unit 125 includes a pick-up unit 120 and a read channel 130. Thepick-up unit 120 receives a signal 102 and suitably generates anelectrical signal 121 in response to the signal 102. The read channel130 includes signal processing circuits to process the electrical signal121, and extract data 131.

The controller 140 controls the operations of the read unit 125 and thememory 150. The memory 150 can be any suitable memory. In an example,the memory 150 is random access memory (RAM), such as static RAM (SRAM),dynamic RAM (DRAM) and the like. According to an embodiment of thedisclosure, a portion of the memory 155 is configured as a buffer 155.The controller 140 controls the buffer 155 to buffer the data 131, andprovide the buffered data to the host device 170.

It is noted that the storage medium 101 can be any suitable storagemedium, such as an optical disc, a hard disc drive or a non-volatilememory, and the like. In an example, the storage medium 101 is a harddisk drive that stores data as magnetic field changes. The pick-up unit120 includes a magnetic head that generates an electrical signal 121 inresponse to the magnetic field changes on the storage medium 101. Theread channel 130 processes the electrical signal 121 and extracts thedata 131.

In another example, the storage medium 101 is an optical disc, such as acompact disc (CD), a digital versatile disc (DVD), a Blu-ray disc, orthe like, that stores data as optical property changes. The pick-up unit120 is an optical pick-up unit that generates an electrical signal 121in response to the optical property changes. Specifically, the pick-upunit 120 directs a light beam to the storage medium 101. The light beamis reflected from the storage medium 101. The signal 102, which is thereflected light beam, has light properties that correspond to theoptical property changes on the storage medium 101. The pick-up unit 120generates the electrical signal 121 in response to the light propertiesof the signal 102. The read channel 130 processes the electrical signal121 and extracts the data 131.

The host device 170 can be any suitable device that operates based onthe data stored on the storage medium 101. In an example, the hostdevice 170 is an audio/video device that plays back audio and videobased on audio and video application data stored on the storage medium101. In another example, the host device 170 is a gaming device thatinteracts with a player based on game application data stored on thestorage medium 101.

According to an aspect of the disclosure, the host device 170 requiresdata at a first rate that is different from a second rate that the readunit 125 reads data from the storage medium. Generally, the first rateis much slower than the second rate. In the FIG. 1 example, theelectronic system 100 uses the buffer 155 to accommodate the ratedifference. For example, the electronic system 100 is suitablyconfigured such that the buffer 155 is drained constantly at about thefirst rate, and is filled intermittently at the second rate, and theaverage of the fill rate is about the first rate.

Specifically, in an example, the host device 170 includes a controller175. The controller 175 and the controller 140 suitably communicate tomaintain a data flow having the first rate from the buffer 155 to thehost device 170.

Further, in an embodiment, the controller 140 controls the operations ofthe read unit 125 and the buffer 155 to fill the buffer 155intermittently. In an example, the medium drive 110 is configured tohave at least a first operation mode and a second operation mode. Thefirst operation mode is also referred to as a read mode, and the secondoperation mode is also referred to as a pause mode. In the firstoperation mode, the controller 140 controls the read unit 125 to seekback to a target reading region on the storage medium 101, the read unit125 reads data from the target reading region, and the controller 140fills the data to the buffer 155. In the second operation mode, there isno need to fill the buffer 155.

According to an embodiment of the disclosure, the medium drive 110enters the first operation mode and the second operation mode based on afill level of the buffer 155 and a fill level threshold. In an example,the fill level of the buffer 155 is represented as a percentage offilled memory space to the total memory space of the buffer 155. Duringoperation, in an example, when the fill level of the buffer 155 is lowerthan the fill level threshold, the medium drive 110 enters the firstoperation mode to read data from the storage medium 101 and fill thedata into the buffer 155. When the buffer 155 is full (e.g., 100% of thefill level), the medium drive 110 enters the second operation mode topause filling the buffer 155.

According to an aspect of the disclosure, the fill level threshold issuitably determined based on the regional quality of the storage medium101 to provide improved user experience and to avoid buffer under-run.

According to an embodiment of the disclosure, the storage medium 101includes regional imperfections that make reading data stored at thoseregions to be problematic. In the example, an optical disc hasscratches, fingerprints, dusts, and the like, on regions of the opticaldisc. The scratches, fingerprints and dusts can cause opticaldisturbance when the pick-up unit 120 directs light to those regions,and can cause reading difficulties at those regions.

In an example, the regional imperfections increase an error rate.Generally, the medium drive 110 has error correction capability that cancorrect errors when the error rate is lower than an error ratethreshold. When data read from the storage medium 101 has higher errorrate, such as higher than the error rate threshold, the medium drive 110can fail to correct the errors. The uncorrected errors may lower userexperience. To improve user experience, in an embodiment, the mediumdrive 110 re-reads the region with same reading configuration or withdifferent reading configurations, such as using different parameters inthe pick-up unit 120, using different parameters in the read channel130, and the like.

In another example, the regional imperfections can cause readingfailure. For example, the medium drive 110 fails to identify sync marksfrom a region due to the regional imperfections. The medium drive 110can re-read the region with same reading configuration or differentreading configuration in order to read successfully.

According to an embodiment of the disclosure, because of the regionalimperfections, the read unit 125 may read multiple times to successfullyread the data or successfully lower the error rate to below the errorrate threshold. Thus, it takes time to read data from the regions withregional imperfections, and thus the buffer 155 is required to haveenough data to avoid under-run and to maintain the data flow to the hostdevice 170 at about the first rate during the time of the re-read.

According to an aspect of the disclosure, the controller 140 adjusts thefill level threshold based on regional quality of the storage medium 101to reduce system memory requirement, and improve user experience.

Further, according to an embodiment of the disclosure, the dynamicallyadjusted fill level threshold allows the buffer 155 to use a relativelysmall memory space to maintain the data flow to the host device 170, andreduces system memory requirement.

It is noted that the controller 140 can be implemented by varioustechniques. In an example, the controller 140 is implemented as logiccircuits. In another example, the controller 140 is implemented as aprocessor executing software instructions.

It is also noted that the medium drive 110 can use any suitabletechniques to obtain the regional quality information of the storagemedium 110.

In an embodiment, the medium drive 110 scans the storage medium 110 tolearn the regional quality information. For example, in an audio/videoapplication, the medium drive 110 consecutively read regions on thestorage medium, such as following a recording track. When the buffer 155is fill, the medium drive 110 enters the pause mode to pause filling thebuffer 155 and perform scan operation on the subsequent regions todetermine the regional quality information. It is noted that the scanoperation does not store the data into the buffer 155.

In another example, in a gaming application, the medium drive 110 canread data from non-consecutive regions on the storage medium 101. Thecontroller 140 keeps a record of indicators for problematic regions,such as a record of indicators for problematic radii. Specifically, whenthe buffer 155 is full, the medium drive 110 enters the pause mode topause filling the buffer 155. The controller 140 controls the read unit125 to perform scan operation on different radii of the storage medium101, and learns the regional quality information of the different radii.For example, the controller 140 controls the read unit 125 to read backdata from different radii. When a read to a radius of the disc fails, orwhen an error rate of the read-back data is larger than the error ratethreshold, the controller 140 adds an indicator for the radius toindicate that it is difficult to read. Then, when a read target is atthis radius, the controller 140 adjusts the fill level threshold to ahigher level.

In an embodiment, initially, before the controller 140 has a chance tocontrol the read unit 125 to scan the storage medium 101, the controller140 assumes poor quality for each region, and stores indicators for allthe regions. When the controller 140 controls the read unit 125 to scanthe storage medium 101, the controller 140 removes the indicators tohigh quality regions.

It is noted that, in an example, the controller 140 uses any previousaccess information, such as previous read operation to the regions orscan operation to the regions, to obtain the regional qualityinformation.

According to another aspect of the disclosure, the medium drive 110 canuse the regional quality information to improve system performance.

It is noted that, in an example, the read channel 130, the controller140 and the memory 150 are implemented as integrated circuits on one ormore integrated circuit (IC) chips.

FIG. 2 shows a flow chart outlining a process 200 for the controller 140to adjust the fill level threshold of the buffer 155 according to anembodiment of the disclosure. The process starts at S201 and proceeds toS210.

At S210, the controller 140 obtains regional quality information of thestorage medium 101. In an embodiment, the controller 140 controls theread unit 125 to scan the storage medium 101 to learn the regionalquality information when the medium drive 110 enters the pause mode. Forexample, the controller 140 controls the read unit 125 to scan asubsequent portion on a track of an optical disc to learn the regionalquality information of the subsequent portion. In another embodiment,the regional quality information is collected from previous readoperations to the regions of the storage medium 101 and stored. In anexample, the controller 140 keeps a record of indicators to problematicradii of an optical disc based on previous access to the radii.

It is noted that the controller 140 can obtain the regional qualityinformation of the storage medium 101 from any other suitable sources.

At S220, the controller 140 determines whether the next target readingregion is problematic. In an audio/video application, the subsequentportion is the target reading region, and the controller 140 determineswhether the subsequent portion is problematic based on the scan of thesubsequent portion. For example, when reading the subsequent portion inthe scan operation fails or when an error rate of the read-back dataduring the scan operation is higher than the error rate threshold, thetarget reading region is problematic.

In a gaming application, the target reading region is determined basedon the gaming application and interaction with the player. Then, thecontroller 140 determines whether there exists an indicator that isindicative of problem at the target reading region.

When the target reading region is problematic, the process proceeds toS230; otherwise the process proceeds to S240.

At S230, the controller 140 uses a relatively higher fill levelthreshold to control filling the buffer 155. Thus, the buffer 155 has arelatively large volume of data to maintain the data flow to the hostdevice 170, to allow time for re-reading the problematic region, and toavoid buffer under-run. Then, the process proceeds to S299 andterminates.

At S240, the controller 140 uses a relatively lower fill level thresholdto control filling the buffer 155. Thus, the medium drive 110 has lessfrequent seek-backs to the storage medium, and the less frequentseek-backs reduce noise level and improve user experience. Then, theprocess proceeds to S299 and terminates.

It is noted that process 200 can be repetitively executed by thecontroller 140.

FIG. 3 shows a flow chart outlining a process 300 for the medium drive110 to operate on the storage medium 101 according to an embodiment ofthe disclosure. The medium drive 110 reads the storage medium 101 andprovides data to the host device 170. The host device 170 requires dataat the first rate that is slower than the second rate at which themedium drive 110 extracts data from the storage medium 101. The processstarts at S301, and proceeds to S310.

At S310, the medium drive 110 is in the read mode, and the controller140 controls the read unit 125 to perform read operation to the storagemedium 101 to extract data at the second rate and fill the read-backdata in the buffer 155 at the second rate.

At S320, the medium drive 110 enters the pause mode when the buffer 155is full. In the pause mode, the controller 140 does not need to thebuffer 155, and can perform other operations to improve systemperformance.

At S330, the controller 140 controls the read unit 125 to scan thestorage medium 101 to learn regional quality information. In an example,the controller 140 controls the read unit 125 to read a subsequentportion of a track on an optical disc, but does not store the read-backdata in the buffer 155. When the read fails or when an error rate of theread-back data is larger than a threshold, the controller 140 determinesthat the subsequent portion is problematic and has poor quality;otherwise, the controller 140 determines that the subsequent portion hasgood quality.

At S340, the controller 140 adjusts the fill level threshold based onthe regional quality. In an example, the controller 140 uses arelatively high fill level threshold when the subsequent portion haspoor quality; and uses a relatively low fill level threshold when thesubsequent portion has good quality.

At S350, the medium drive 110 exits the pause mode, and enters the readmode based on the fill level threshold. For example, data in the buffer155 is provided to the host device 170 at the first rate, and memoryspace in the buffer 155 is freed at the first rate. When the fill levelof the buffer 155 drops below the fill level threshold, the medium drive110 exists the pause mode and enters the read mode to read data from thestorage medium 101, and fill the buffer 155 at the second rate. Then,the process proceeds to S399 and terminates.

It is noted that the process 300 can be repetitively executed. Forexample, at S350, the process returns to S310.

FIG. 4 shows a flow chart outlining a process 400 for the medium drive110 to operate on the storage medium 101 according to an embodiment ofthe disclosure. The medium drive 110 reads the storage medium 101 andprovides data to the host device 170. The host device 170 requires dataat the first rate that is slower than the second rate at which themedium drive 110 extracts data from the storage medium 101. The processstarts at S401, and proceeds to S410.

At S410, the medium drive 110 is in the read mode, and the controller140 controls the read unit 125 to perform read operation to the storagemedium 101 and fill the read-back data in the buffer 155.

At S420, the medium drive 110 enters the pause mode when the buffer 155is full.

At S430, when the medium drive 110 is in the pause mode, the controller140 controls the read unit 125 to pre-read problematic regions. In anexample, the controller 140 controls the read unit 125 to repetitivelyre-read a hard-to-read portion in a problematic region, such as ahard-to-read code-word, a hard-to-read sector, and the like. It is notedthat, in an example, the read unit 125 adjusts read parameters torepetitively re-read the hard-to-read portion. When the read unit 125successfully extracts the data, the controller 140 controls the memory150 to store the hard-to-read data in a temporary memory space, such asthe scratch buffer 156.

At S440, the fill level of the buffer 155 drops below the fill levelthreshold, the medium drive 110 exits the pause mode and enters the readmode.

At S450, the controller 140 determines whether the target reading regionis a problematic region. When the target reading region has goodquality, the process returns to S410; and when the target reading regionhas poor quality, the process proceeds to S460.

At S460, the controller 140 suitably moves the hard-to-read data fromthe temporary memory space into the buffer 155. Then, the processreturns to S410.

It is noted that the medium drive 110 can separately execute the process300 or the process 400, and can suitably execute a combined process of300 and 400.

While aspects of the present disclosure have been described inconjunction with the specific embodiments thereof that are proposed asexamples, alternatives, modifications, and variations to the examplesmay be made. Accordingly, embodiments as set forth herein are intendedto be illustrative and not limiting. There are changes that may be madewithout departing from the scope of the claims set forth below.

What is claimed is:
 1. A method, comprising: scanning a storage mediumto determine regional quality information when a fill level of a bufferis above a fill level threshold, the fill level threshold being used totrigger filling the buffer with data read from a region of the storagemedium; receiving the regional quality information of the region; andadjusting the fill level threshold of the buffer based on the regionalquality information.
 2. The method of claim 1, further comprising:storing quality indicators in association with regions of the storagemedium.
 3. The method of claim 2, further comprising: storing a qualityindicator in association with a region based on a previous access to theregion of the storage medium.
 4. The method of claim 3, wherein storingthe quality indicator based on the previous access to the region of thestorage medium further comprises: storing the quality indicator when theprevious access to the region is not successful.
 5. The method of claim3, wherein storing the quality indicator based on the previous access tothe region of the storage medium further comprises: storing the qualityindicator when an error rate of the previous access to the region ishigher than an error rate threshold.
 6. The method of claim 1, whereinadjusting the fill level threshold based on the regional qualityinformation further comprises: using a higher fill level threshold whenthe regional quality information is indicative of a defined error ratein the region; and using a lower fill level threshold when the regionalquality information is not indicative of the defined error rate in theregion.
 7. A method, comprising: scanning a storage medium to determineregional quality information and reading data from a region on thestorage medium when a fill level of a buffer is above a fill levelthreshold, the fill level threshold being used to trigger filling thebuffer with the data; adjusting the fill level threshold of the bufferbased on the regional quality information; storing the data in atemporary memory space; and moving the data from the temporary memoryspace into the buffer when the region becomes a target reading region.8. The method of claim 7, wherein reading the data from the region onthe storage medium prior to the region being the target reading regionwhen the fill level of the buffer is above the fill level thresholdfurther comprises: reading the data from the region when the region isindicated as being problematic to access.
 9. A circuit, comprising: amemory having a portion being allocated as a buffer to buffer data readfrom a storage medium, and to provide the data to a host device; and acontroller circuit configured to cause a scan of the storage medium whena fill level of the buffer is above a fill level threshold to determineregional quality information of a region on the storage medium, the filllevel threshold being used to trigger filling the buffer with the dataread from the region, and receive the regional quality information, andadjust the fill level threshold based on the regional qualityinformation.
 10. The circuit of claim 9, wherein the memory isconfigured to store quality indicators in association with regions ofthe storage medium.
 11. The circuit of claim 10, wherein the memory isconfigured to store a quality indicator in association with the regionbased on a previous access to the region.
 12. The circuit of claim 11,wherein the memory is configured to store the quality indicator when theprevious access to the region is not successful.
 13. The circuit ofclaim 11, wherein the memory is configured to store the qualityindicator when an error rate of the previous access to the region ishigher than an error rate threshold.
 14. The circuit of claim 9, whereinthe controller circuit is configured to use a higher fill levelthreshold when the regional quality information is indicative of adefined error rate in the region, and uses a lower fill level thresholdwhen the regional quality information is not indicative of the definederror rate in the region.
 15. A medium drive having the circuit of claim9, comprising: a read unit configured to read data from the storagemedium and provide the data to the circuit.